package com.neusoft.NursingHome.service;

import com.neusoft.NursingHome.po.OutRecord;
import java.util.List;

public interface OutRecordService {

    /**
     * 查询所有的外出记录
     * @return 外出记录列表
     */
    List<OutRecord> getAllOutRecords();

    /**
     * 根据审核状态查询外出记录
     * @param status 审核状态 (0:已提交, 1:审核通过, 2:审核不通过)
     * @return 外出记录列表
     */
    List<OutRecord> getOutRecordsByStatus(Integer status);

    /**
     * 通过客户姓名模糊查询外出记录
     * @param name 客户姓名
     * @return 外出记录列表
     */
    List<OutRecord> searchOutRecordsByName(String name);

    /**
     * 添加外出记录
     * @param outRecord 外出记录对象
     * @return 添加是否成功
     */
    boolean addOutRecord(OutRecord outRecord);

    /**
     * 更新外出记录
     * @param outRecord 更新后的外出记录对象
     * @return 更新是否成功
     */
    boolean updateOutRecord(OutRecord outRecord);
    /**
     * 根据客户 ID 查询外出记录
     * @param customerId 客户的唯一标识符
     * @return 外出记录列表
     */
    List<OutRecord> getOutRecordsByCustomerId(Integer customerId);

    /**
     * 根据 ID 逻辑删除外出记录
     * @param id 外出记录的唯一标识符
     * @return 删除是否成功
     */
    boolean deleteOutRecord(Integer id);
}